﻿package com.obas.model.type
{
	import com.ease.common.enums.TextualEnum;
	import com.ease.lang.Enum;
	import com.ease.lang.EnumConstants;
	import com.obas.model.type.AttributeColumnType;
	import com.obas.model.type.BaseValueAttributeType;

	[Bindable]
	[RemoteClass(alias="com.obas.model.type.BaseValueAttributeType")]

	public class BaseValueAttributeType extends Enum
	{
		/* static init */
		{ initEnum(BaseValueAttributeType); }

		/* Constants */
		public static const VALUE1:BaseValueAttributeType = new BaseValueAttributeType("VALUE1", "值[1]", "VALUE1", "NUMBER", 0);
		public static const VALUE2:BaseValueAttributeType = new BaseValueAttributeType("VALUE2", "值[2]", "VALUE2", "NUMBER", 0);
		public static const VALUE3:BaseValueAttributeType = new BaseValueAttributeType("VALUE3", "值[3]", "VALUE3", "NUMBER", 0);
		public static const VALUE4:BaseValueAttributeType = new BaseValueAttributeType("VALUE4", "值[4]", "VALUE4", "NUMBER", 0);
		public static const VALUE5:BaseValueAttributeType = new BaseValueAttributeType("VALUE5", "值[5]", "VALUE5", "NUMBER", 0);
		public static const VALUE6:BaseValueAttributeType = new BaseValueAttributeType("VALUE6", "值[6]", "VALUE6", "NUMBER", 0);
		public static const VALUE7:BaseValueAttributeType = new BaseValueAttributeType("VALUE7", "值[7]", "VALUE7", "NUMBER", 0);
		public static const VALUE8:BaseValueAttributeType = new BaseValueAttributeType("VALUE8", "值[8]", "VALUE8", "NUMBER", 0);
		public static const VALUE9:BaseValueAttributeType = new BaseValueAttributeType("VALUE9", "值[9]", "VALUE9", "NUMBER", 0);
		public static const VALUE10:BaseValueAttributeType = new BaseValueAttributeType("VALUE10", "值[10]", "VALUE10", "NUMBER", 0);
		public static const VALUE11:BaseValueAttributeType = new BaseValueAttributeType("VALUE11", "值[11]", "VALUE11", "NUMBER", 0);
		public static const VALUE12:BaseValueAttributeType = new BaseValueAttributeType("VALUE12", "值[12]", "VALUE12", "NUMBER", 0);

		private var _text:String;
		private var _columnName:String;
		private var _dataType:String;
		private var _length:int;

		/*public*/ function BaseValueAttributeType(name:String=null ,text:String=null ,columnName:String=null ,dataType:String=null ,length:int=0) {
			super.name = name;
			this._text = text;
			this._columnName = columnName;
			this._dataType = dataType;
			this._length = length;
		}

		public function get text():String  { return this._text; }
		public function get columnName():String  { return this._columnName; }
		public function get dataType():String  { return this._dataType; }
		public function get length():int  { return this._length; }

		/* constant query */
		public static function getEnumConstants():Array {
			return Enum.getEnumConstants(BaseValueAttributeType);
		}

		public static function get(constantName:String, caseSensitive:Boolean = false):BaseValueAttributeType {
			return BaseValueAttributeType(Enum.get(BaseValueAttributeType, constantName, caseSensitive));
		}
	}
}